define(function(require, exports, module) {
	var $ = require('$');
	var formcc = require('form');
	var nav = require("bootstrap_nav");
	var bootbox = require("bootbox");
	var store = require("store");
	var loader = require("./loader/loader");
	require('select2.css');
	require('select2');

	require('bootstrap_datetimepicker');
	require("bootstrap-datetimepicker.min.css");
	require('bootstrap_datetimepicker.zh-CN');

	exports.init = function(divId, data) {
		var isvrecord = {};
		if (data)
			isvrecord = data;
		new formcc(
				{
					attrs : {
						title : "应用扩展信息",
						spansize : 'span12',
						id : "accountrecordform",
						items : [ {
							isText : true,
							label : "应用标识",
							id : 'app_key',
							name : 'app_key',
							type : "text",
							style : "width:50%",
							readonly : true,
							value : isvrecord.app_key,
							validations : {
								required : true,
								maxlength : 50
							}
						}, {
							isText : true,
							label : "ISV名称",
							id : 'isv_id',
							name : 'isv_id',
							type : "text",
							style : "width:50%",
							readonly : true,
							value : isvrecord.isv_name,
							validations : {
								required : true,
								minlength : 2
							}
						}, {
							isText : true,
							label : "应用名称",
							id : 'app_id',
							name : 'app_id',
							type : "text",
							style : "width:50%",
							readonly : true,
							value : isvrecord.app_name
						}, {
							isText : true,
							label : "临时密钥",
							id : 'key_private',
							name : 'key_private',
							placeholder : "不填写则后台自动生成密钥",
							type : "text",
							readonly : false,
							style : "width:50%"
						}, {
							isText : true,
							label : "永久密钥",
							id : 'key_public',
							placeholder : "不填写则后台自动生成密钥",
							name : 'key_public',
							type : "text",
							readonly : false,
							style : "width:50%"
						}, {
							isText : true,
							label : "联系人",
							id : 'linker_name',
							name : 'linker_name',
							type : "text",
							style : "width:50%",
							readonly : false,
							validations : {
								required : true,
								maxlength : 20
							}
						}, {
							isText : true,
							label : "联系电话",
							id : 'linker_phone',
							name : 'linker_phone',
							type : "text",
							style : "width:50%",
							readonly : false,
							validations : {
								required : true,
								maxlength : 15
							}
						}, {
							isText : true,
							label : "联系邮箱",
							id : 'linker_email',
							name : 'linker_email',
							type : "text",
							style : "width:50%",
							readonly : false,
							validations : {
								required : true,
								maxlength : 50
							}
						}, {
							isText : true,
							label : "使用统一推送地址",
							id : 'is_init_account',
							name : 'is_init_account',
							type : "text",
							style : "width:50%",
							readonly : false,
						}, {
							isText : true,
							label : "使用APP秘钥验证",
							id : 'is_app_validate',
							name : 'is_app_validate',
							type : "text",
							style : "width:50%",
							readonly : false,
						}, {
							isText : true,
							label : "会议状态推送地址",
							id : 'url_callstatus',
							name : 'url_callstatus',
							type : "text",
							readonly : false,
							style : "width:50%"
						}, {
							isText : true,
							label : "话单推动地址",
							id : 'url_ticket',
							name : 'url_ticket',
							type : "text",
							readonly : false,
							style : "width:50%"
						}, {
							isText : true,
							label : "IVR按键结果推送地址",
							id : 'url_ivrdigit',
							name : 'url_ivrdigit',
							type : "text",
							readonly : false,
							style : "width:50%"
						},  {
							isText : true,
							label : "录音文件推送地址",
							id : 'url_record',
							name : 'url_record',
							type : "text",
							readonly : false,
							style : "width:50%"
						}, {
							isText : true,
							label : "上行短信推送地址",
							id : 'url_sms',
							name : 'url_sms',
							type : "text",
							readonly : false,
							style : "width:50%"
						},{
							isText : true,
							label : "账号通知推送地址",
							id : 'url_notice',
							name : 'url_notice',
							type : "text",
							readonly : false,
							style : "width:50%"							
						},{
							isText : true,
							label : "信控审核结果推送地址",
							id : 'url_infocontrol',
							name : 'url_infocontrol',
							type : "text",
							readonly : false,
							style : "width:50%"
								
						}, {
							isText : true,
							label : "计费平台",
							id : 'billing_platform',
							name : 'billing_platform',
							type : "text",
							style : "width:50%",
							readonly : false,
							validations : {
								required : true,
								minlength : 2
							}
						}, {
							isText : true,
							label : "鉴权地址",
							id : 'url_authentication',
							name : 'url_authentication',
							type : "text",
							style : "width:50%",
							placeholder : "请输入鉴权地址",
							bVisible : false,
							validations : {
								required : false,
								maxlength : 200
							}
						}, {
							isText : true,
							label : "系统接入码",
							id : 'periphery_code',
							name : 'periphery_code',
							type : "text",
							style : "width:50%",
							value : isvrecord.periphery_code,
							readonly : true
						} ],
						buttons : [ {
							text : "保存",
							id : "btn_save",
							type : "submit",
							style : "btn btn-contrast",
							icon : "save",
						}, {
							text : "取消",
							id : "btn_cancel",
							style : "btn",
							type : "button",
							icon : "undo",
						} ]

					},
					renderTo : divId,
					afterRender : function() {
						//是否使用统一账号is_init_account
				        $("#is_init_account").select2({
				          allowClear : true,
				          multiple : false,
				          type : "text",
				          style : "width:50%",
				          data : [ {
				            id : 00,
				            text : "是"
				          }, {
				            id : 01,
				            text : "否"
				          }]
				        });
				      //是否使用App签名
				        $("#is_app_validate").select2({
				          allowClear : true,
				          multiple : false,
				          type : "text",
				          style : "width:50%",
				          data : [ {
				            id : 00,
				            text : "是"
				          }, {
				            id : 01,
				            text : "否"
				          }]
				        });
				      //计费平台
				        $("#billing_platform").select2({
				          allowClear : true,
				          multiple : false,
				          type : "text",
				          style : "width:50%",
				          data : [ {
				            id : '00',
				            text : "能力平台"
				          }, {
				            id : '01',
				            text : "第三方平台"
				          }, {
				            id : '03',
				            text : "运营平台"
				          }
				          ]
				        });
						if(isvrecord.isHasExtend){
							$.ajax({
								url : "/appExtend/getExtendInfo.do",// GLOBAL.URL.ADMIN_RETURNLICENSECARRIER,
								dataType : "json",
								data : {
									"app_key":isvrecord.app_key
								},
								type : "POST",
								async : false,
								success : function(json) {
									if (json.flag == '000000') {
										
										$("#key_private").val(json.bean.key_private);
										$("#key_public").val(json.bean.key_public);
										$("#linker_name").val(json.bean.linker_name);
										$("#linker_phone").val(json.bean.linker_phone);
										$("#linker_email").val(json.bean.linker_email);
										
										$("#is_init_account").select2('val',json.bean.is_init_url);
										$("#is_app_validate").select2('val',json.bean.is_init_validate);
										$("#url_callstatus").val(json.bean.url_callstatus);
										$("#url_ticket").val(json.bean.url_ticket);
										$("#url_authentication").val(json.bean.url_authentication);
										$("#url_ivrdigit").val(json.bean.url_ivrdigit);
										$("#url_record").val(json.bean.url_record);
										$("#url_notice").val(json.bean.url_notice);
										$("#url_sms").val(json.bean.url_sms);
										$("#url_infocontrol").val(json.bean.url_infocontrol);
										$('#billing_platform').select2('val',json.bean.billing_platform);
										if(json.bean.billing_platform!="03"){
											//默认隐藏鉴权地址
									        $("#url_authentication").parent().parent().hide();
									        //默认隐藏运营平台产品编码
									        $("#periphery_code").parent().parent().hide();
										}
										$("#periphery_code").val(json.bean.periphery_code);
										loader.noloading();
									} else {
										oauth2Relogin();
									}
								},
								error : function() {
									loader.noloading();
									bootbox.alertTimeout("网络请求失败，请重试！");
								}
							});
						}else{
							$('#is_init_account').select2('val',01);
							$('#is_app_validate').select2('val',01);
							$('#billing_platform').select2('val','03');
						}
						
				       
				        //'是否使用統一账号'帮助信息
				        $("#is_init_account").after("&nbsp;&nbsp;<button id=\"is_init_account_button\" class=\"btn btn-success\" type=\"button\" >帮助</a>");
				        $("#is_init_account").parent().after("<div id=\"alert_is_init_account\" class=\"alert alert-danger hidden\" role=\"alert\">选择“使用统一推送地址”后，则同一个APP下的所有组织使用统一话单推送地址和会议推送地址</div>");
				        $("#is_init_account_button").click(function(){
				          $("#alert_is_init_account").attr("class","alert alert-danger");
				        });
				        
				        
				        //'是否使用APP签名'帮助信息
				        $("#is_app_validate").after("&nbsp;&nbsp;<button id=\"is_app_validate_button\" class=\"btn btn-success\" type=\"button\" >帮助</a>");
				        $("#is_app_validate").parent().after("<div id=\"alert_is_app_validate\" class=\"alert alert-danger hidden\" role=\"alert\">选择“使用统一推送地址”后，则同一个APP下的所有组织使用统一话单推送地址和会议推送地址</div>");
				        $("#is_app_validate_button").click(function(){
				          $("#alert_is_app_validate").attr("class","alert alert-danger");
				        });

				        
				        
				        //判断如果选择计费平台为‘运营平台’，则显示鉴权地址，否则不显示
				        $('#billing_platform').change(function(){
				        	var flag=$("#billing_platform").val();
				          if(flag=="03"){
				            $("#url_authentication").parent().parent().show();
				            $("#url_authentication").attr("required","true");
				            $("#periphery_code").parent().parent().show();
				            $("#periphery_code").attr("required","true");
				          }else{
				            $("#url_authentication").parent().parent().hide();
				            $("#url_authentication").attr("required","false");
				            $("#periphery_code").parent().parent().hide();
				            $("#periphery_code").attr("required","false");
				          }
				        });

						var theme = require('bootstrap_theme');
						theme.setValidateForm(
						$("#accountrecordform"),
						function() {
							var formdata = {
								app_key : isvrecord.app_key,
								key_private : $("#key_private").val(),
								key_public : $("#key_public").val(),
								linker_name : $("#linker_name").val(),
								linker_phone : $("#linker_phone").val(),
								linker_email :$("#linker_email").val(),
								is_init_account : $("#is_init_account").val(),
								is_app_validate : $("#is_app_validate").val(),
								isHasExtend:isvrecord.isHasExtend,
								url_callstatus : $("#url_callstatus").val(),
								url_ticket : $("#url_ticket").val(),
								url_authentication : $("#url_authentication").val(),
								url_ivrdigit : $("#url_ivrdigit").val(),
								url_record : $("#url_record").val(),
								url_infocontrol : $("#url_infocontrol").val(),
								url_notice :$("#url_notice").val(),
								url_sms:$("#url_sms").val(),
								billing_platform : $("#billing_platform").val(),
								periphery_code : $("#periphery_code").val()
							};
							loader.loading("正在提交，请稍等……");

							$.ajax({
								url : "/appExtend/doExtendInfo.do",// GLOBAL.URL.ADMIN_RETURNLICENSECARRIER,
								dataType : "json",
								data : "data="+ JSON.stringify(formdata),
								type : "POST",
								async : false,
								success : function(json) {
									if (json.flag == '000000') {
										nav.toPageView("admin/accountinfo.html");
										loader.noloading();
									} else {
										oauth2Relogin();
									}
								},
								error : function() {
									loader.noloading();
									bootbox.alertTimeout("网络请求失败，请重试！");
								}
							});
						});

						$('#btn_cancel').on('click', function() {
							// nav.toPageView("admin/accountinfo.html");

							$('#accountinfo_data_table_edit').hide();
							$('#accountinfo_data_table').show();
							$("#accountForm").show();
							$("#queryAreaId").show();
						});
					}
				});
	};
});
